package com.vhall.component.entity.goods.goods;

import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.annotation.JSONType;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.vhall.component.framework.common.annotation.ParamName;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @author yuanzh
 * @date 2021/10/26
 */
@JSONType(serialzeFeatures = {SerializerFeature.WriteNullStringAsEmpty})
@Data
@Accessors(chain = true)
public class GoodsRspVO implements Serializable {

    private static final long serialVersionUID = 2391654658984053731L;

    /**
     * 商品id
     */
    @JSONField(name = "bg_id")
    @JsonProperty("bg_id")
    private Integer bgId;

    /**
     * 创建人id
     */
    @JSONField(name = "account_id")
    @JsonProperty("account_id")
    private Integer accountId;

    /**
     * 商品名称
     */
    private String name;

    /**
     * 商品描述
     */
    @JSONField(name = "goods_tag")
    @JsonProperty("goods_tag")
    private String goodsTag;

    /**
     * 商品图片
     */
    private String pic;

    /**
     * 商品价格
     */
    private BigDecimal price;

    /**
     * 商品访问地址
     */
    @JSONField(name = "goods_url")
    @JsonProperty("goods_url")
    private String goodsUrl;

    @JSONField(name = "created_at")
    @JsonProperty("created_at")
    private String createdAt;

    @JSONField(name = "updated_at")
    @JsonProperty("updated_at")
    private String updatedAt;

    /**
     * 商品链接-android
     */
    @ParamName(value = "goods_url_android")
    @JsonProperty(value = "goods_url_android")
    private String goodsUrlAndroid;

    /**
     * 商品链接-ios
     */
    @ParamName(value = "goods_url_ios")
    @JsonProperty(value = "goods_url_ios")
    private String goodsUrlIos;

    /**
     * 商品按钮文字
     */
    @JsonProperty(value = "product_button_text")
    @ParamName(value = "product_button_text")
    private String productButtonText;

    /**
     * 商品上下架状态;0=下架 1=上架
     */
    @ParamName(value = "load_or_unload")
    @JsonProperty(value = "load_or_unload")
    private Integer loadOrUnload;


}
